﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public interface IViewerDrawer
{
    /// <summary>
    /// 播放动画
    /// </summary>
    /// <param name="animName"></param>
    /// <param name="Layer"></param>
    /// <param name="normalizedTime"></param>
    void PlayAnim(string animName, int Layer, float normalizedTime);
    /// <summary>
    /// 播放融合动画
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    /// <param name="speed"></param>
    void PlayCrossFade(FrameInfo info, int frameIndex, float speed);
    /// <summary>
    /// 播放融合动画
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    /// <param name="speed"></param>
    void PlayCrossFade(string animName, float speed, float tansitionDuration = 0.15f);
    void SetAnimSpeed(float speed);
    /// <summary>
    /// 刷新帧相关文本信息
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    void RefreshFrameText(FrameInfo info, int frameIndex,int allFrameIndex);
    /// <summary>
    /// 刷新动画展现
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    /// <param name="speed"></param>
    void RefreshAnimator(FrameInfo info, int frameIndex, float speed);
    /// <summary>
    /// 刷新帧事件
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    void RefresFrameEvent(FrameInfo info, int frameIndex);
    /// <summary>
    /// 刷新帧中断展现
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    void RefreshIntterrupt(FrameInfo info, int frameIndex);
    /// <summary>
    /// 刷新帧攻击定义
    /// </summary>
    /// <param name="info"></param>
    /// <param name="frameIndex"></param>
    void RefreshAttackDef(FrameInfo info, int frameIndex);

    void RefreshSelfBox();
}
